package cn.edu.hunau.java.week02.day01;

import org.junit.Test;

import java.util.Arrays;

public class MyArrayTest {
        @Test
        public void test(){
            //对实现的方法进行测试
            int [] arr=new int[5];
            arr= add(arr,100);
            System.out.println(Arrays.toString(arr));
            arr= add(arr,2,99);
            System.out.println(Arrays.toString(arr));
            arr= remove(arr,3);
            System.out.println(Arrays.toString(arr));
        }
        /**
         * TODO:向数组arr的末尾添加数据data.
         * @param arr
         * @param data
         */
        public int[] add(int[] arr,int data){
            //扩容
            int[] newArray= Arrays.copyOf(arr, arr.length+1);
            newArray[newArray.length-1]=data;
            return newArray;

        }
        /**
         * TODO:向数组arr指定的位置index添加数据data
         * @param arr
         * @param index
         * @param data
         */
        public int[] add(int[] arr,int index,int data){
            int[] target=new int[arr.length+1];

            System.arraycopy(arr,0,target,0,index);
            target[index] = data;
            System.arraycopy(arr,index,target,index+1,arr.length-index);

            return target;

        }
        /**
         * TODO:将数据arr中指定位置index的数据删除
         * @param arr
         * @param index
         */
        public int[] remove(int[] arr,int index){
            int[] target=new int[arr.length-1];
            System.arraycopy(arr,0,target,0,index);
            System.arraycopy(arr,index+1,target,index,arr.length-index-1);
            return target;
        }
    }